#!/bin/bash

FILE_PATH=$1
# 获取文件路径的所属目录
DIR_NAME=$(dirname "$FILE_PATH")

# 获取文件的文件名
FILE_NAME=$(basename "$FILE_PATH")

FILE_NAME_WITHOUT_EXT="${FILE_NAME%.*}"  # 关键操作：删除最后一个点及其后的所有字符

LL_PATH=$DIR_NAME/build/${FILE_NAME_WITHOUT_EXT}.ll
OUT_BC_PATH=$DIR_NAME/build/${FILE_NAME_WITHOUT_EXT}_ollvm.bc
OUT_EXE=$DIR_NAME/build/${FILE_NAME_WITHOUT_EXT}_ollvm

PASS_NAME="encode-function-name"

echo "Test Pass ${PASS_NAME}: ${LL_PATH}"
opt --passes=${PASS_NAME} -S ${LL_PATH} -o $OUT_BC_PATH

echo "Ollvm exe:${OUT_EXE}"
clang $BUILD_SYS_ROOT ${OUT_BC_PATH} -o $OUT_EXE